package com.zsk.shop.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
 * @author Administrator
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("shop_user")
@ApiModel("用户实体返回类")
public class ShopUser {

    @TableId(value = "id", type = IdType.AUTO)
    @ApiModelProperty(name = "id", value = "主键编号", dataType = "Long")
    private Long id;

    @ApiModelProperty(name = "userNo", value = "用户no", dataType = "String")
    private String userNo;

    @ApiModelProperty(name = "phone", value = "手机号")
    private String phone;

    @ApiModelProperty(name = "password", value = "密码")
    private String password;

    @ApiModelProperty(name = "nickName", value = "昵称")
    private String nickName;

    @ApiModelProperty(name = "avatar", value = "头像")
    private String avatar;

    private Integer sex;

    @ApiModelProperty(name = "inviteCode", value = "邀请码")
    private String inviteCode;

    @ApiModelProperty(name = "parentUserNo", value = "邀请人")
    private String parentUserNo;

    @ApiModelProperty(name = "inviteTime", value = "邀请时间")
    private Date inviteTime;

    @ApiModelProperty(name = "inviteUpTwoTime", value = "升级到2级时间")
    private Date inviteUpTwoTime;

    @ApiModelProperty(name = "inviteUpThreeTime", value = "升级到3级时间")
    private Date inviteUpThreeTime;

    @ApiModelProperty(name = "inviteUpFourTime", value = "升级到4级黑时间")
    private Date inviteUpFourTime;

    @ApiModelProperty(name = "inviteUpFiveTime", value = "升级到5级至尊时间")
    private Date inviteUpFiveTime;

    @ApiModelProperty(name = "subUserId", value = "团队成员")
    private String subUserId;

    @ApiModelProperty(name = "lv", value = "等级")
    private Integer lv;

    private String wxNickName;

    private String wxAvatar;

    private String wxOpenId;

    private String wxMiniOpenId;

    private String wxJsOpenId;

    private String wxUnionId;

    @ApiModelProperty(name = "trueName", value = "真实名称")
    private String trueName;

    @ApiModelProperty(name = "identityCard", value = "身份证")
    private String identityCard;

    private Boolean isDeleted;

    private Boolean isInvalid;

    private Date createTime;

    private Date updateTime;

    @ApiModelProperty(name = "vipLevel", value = "0没购买过礼包，1普通版本礼包，2中级版本礼包，3高级版本礼包")
    private Integer vipLevel;

    @ApiModelProperty(name = "subCompany", value = "分公司，有值则是分公司")
    private String subCompany;

    @ApiModelProperty(name = "appleSub", value = "苹果账户")
    private String appleSub;
}